perm filename DATA.DIS[1,RWF]5 blob sn#529856 filedate 1980-08-15 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00012 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	ON THE USE OF THE DATADISC TERMINAL 
C00007 00003
C00017 00004	FILE HANDLING.
C00022 00005	EDITING A FILE.
C00026 00006
C00030 00007	PRINTING A FILE.
C00033 00008
C00039 00009	CURSOR OPERATIONS.
C00043 00010	LINE OPERATIONS.
C00047 00011	TEXT-MOVING OPERATIONS.
C00051 00012	APPENDIX B.  WHAT TO DO IN CASE OF TROUBLE.
C00059 ENDMK
C⊗;
ON THE USE OF THE DATADISC TERMINAL 

This  is  file DATA.DIS[1,RWF]  on the Stanford SAIL computer system, last written
April 9, 1980.  Bob Floyd  (aka  RWF)  wrote it,  maintains it,  and welcomes
suggestions.


STARTING UP.
 
The DataDisc terminal consists of a keyboard and a TV-like screen.  Turn the
ON-OFF switch on  and wait for the screen  to warm up.  Adjust  the contrast
knob until letters appear on the screen.  Then adjust the brightness knob so
that  the bright background  just disappears.  The contrast knob can then be
adjusted for visual comfort.

THE KEYBOARD.
 
The keyboard  contains three types of keys.  Most keys send their character to
the computer.  Others,  while held down,  change the meaning  of the character
keys.  The following keys  modify the meaning of the characters typed while they
 are held down.  
(1)  SHIFT.   Hold this key down like the SHIFT key on a typewriter for upper
     case letters.  It affects only letters.
(2)  SHIFT LOCK.   Press this key to go from typing upper case letters to 
     lower case or vice versa.  It affects only letters.
(3)  TOP.  Hold this key down to type the top character on keys which show two
     characters.
(4)  CONTROL and META.   These keys, which may be held down while a character
     is typed, modify the meaning of that character in various ways, some of
     which will be described in detail later.  To say briefly, "Hold down 
     CONTROL while typing  D ", this document uses CONTROL<D>.

Some keys are marked with a word or a syllable, such as RETURN.  Be sure to
use the RETURN key when called for, and not to type the six letters
separately. In the remainder of this document, they are sometimes enclosed
in brackets [] for clarity.

Typing CONTROL<BREAK> will stop the terminal display if it is moving too
fast for you to read.  To resume display, type CONTROL<CLEAR>.  The [CALL]
key may be used to interrupt anything that is going on that you want
stopped, such as the display of a long text.

CORRECTING INPUT.  When typing at the terminal, you may make corrections
at any time until hitting the [RETURN] key.  Corrections are made where
the cursor is.  To move the cursor right or left, type CONTROL<SPACE> or
CONTROL<BS> respectively.  To change the character at the cursor, type the
new character.  To delete the character at the cursor, type CONTROL<D> .
To insert characters at the cursor, type CONTROL<I> followed by the
desired characters, using CONTROL<SPACE> to stop inserting.  When the line
is correct, type [RETURN].


USING THE SAIL COMPUTER.

If you do not already have them, get a project name, progammer initials,
and password from Les Earnest or Denny Brown.  After your account has been
activated, you may use the SAIL computer.  Turn on the power as described
above.  Press the [CALL] key.  The system monitor will begin a new line
with a period, which shows that it awaits your command.  (If it fails to
do this, the computer is probably not in service.)  You must first
identify yourself to the system by "logging in".  If XXX is your
programmer initials,type L XXX [RETURN].  If you also need to specify a
project name YYY, type L YYY/XXX [RETURN] instead.  When the system prints
PASSWORD= , type your password and [RETURN].  It will not appear on your
terminal.  The system will now print a set of messages to all users of the
SAIL system, not all intelligible.  If you log in using a comma before your
initials, all current messages, including those you have seen before, will
be printed.  For more information on logging in, type HELP LOGIN followed
by [RETURN].

DISCONNECTING FROM THE SAIL COMPUTER.  When you get through using the
computer, follow this disconnecting procedure.  When the monitor prints
the period (.), type K [RETURN] to tell the system that you want to quit.
(To get back to the monitor if you are editing, type CONTROL <E> .) The K
stands for KILL JOB . The system will then print accounting information
and KJOB.
FILE HANDLING.

FILE DIRECTORY INFORMATION.  To see the names of all your files, type  DIR
[RETURN] . To  see the names  of another user's  files, type  DIR[YYY,XXX]
[RETURN] where YYY,XXX is the project name and programmer initials of that
other user.


FILE NAMES.

Your own file names are of the form NNNNNN.EEE, where NNNNNN is a name  of
up to six letters, and EEE is a code for the kind of file.  You might  let
EEE be TXT for English  text, DAT for numerical  data, etc.  The name  for
someone else's file is NNNNNN.EEE[YYY.XXX],  where YYY.XXX is his  project
name(probably 1) and programmer initials.


COPYING A FILE.

The command COPY newfile  ← oldfile [RETURN] , creates a file named newfile,
which is a copy of the file named oldfile .

READING A FILE.

Type ER filename [RETURN]  , where filename  is the name  of the file  you
want to read (see above for file  names).  Files are broken up into  parts
called pages.  To see  the next screenful of  information in a page,  type
[FORM].  To back up within a page,  type CONTROL<VT> . To get to the  next
page, type CONTROL<P> . To go forward  n pages, type CONTROL<+nP> , To  go
backward n pages, type CONTROL<-nP> . To go to page n , type CONTROL<nP> .
When you are done reading, type CONTROL<E> to return to the monitor.   You
can use these operations, and those in DELETING FROM A FILE, to read  your
mail, which is on  a file named \M  . If you may want to change a  file
while reading it, use ET rather than ER.

CREATING A NEW FILE.

Type CET filename [RETURN] .  Then type the lines of  text you want to  go
into the file.  To start a new  file page (for example, just before a  new
subject heading),  type  CONTROL<X>  MARK  [RETURN] .  When  the  file  is
complete, type CONTROL<E> .

EDITING A FILE.

While reading or creating a file (see above), you may make changes to
it by addition, deletion, or replacement.  The following sections tell
how.  By the current line, page, or file, we mean the one the cursor is in.

In addition to the operations listed under READING A FILE, you will need to
know these:
	To move the cursor down or up  n  lines, type
		CONTROL<n> [RETURN]  or 
		CONTROL<n BS> respectively.
	If  n  is  1, just type  [RETURN] or CONTROL[BS] respectively.
	To see more of the text at the top or bottom of the page, type
		CONTROL<T>  or CONTROL<B>  respectively.
	To move the cursor to line number  n  of the current page, type
		CONTROL<nL> .
Other operations are in APPENDIX A.
 

ADDING TO A FILE.

To add material at the end of any page of a file, read that file with  the
cursor at the  line of asterisks  which ends  that page.  If  you are  not
already reading the file,  type ET filename/nE [RETURN]  , where n is  the
page number.  Then type in the new lines to be added to the file.

To insert new  lines in  a file,  read that file  with the  cursor at  the
desired place of insertion.  Type CONTROL+META[RETURN], the new lines, and
CONTROL<RETURN>.

To insert new material in a line of a file, read the file with the  cursor
at that line.  Then use the methods described in CORRECTING INPUT, above.


DELETING FROM A FILE.

To delete one or more lines from a file, read the file with the cursor  at
the first  line to  be deleted.   Type CONTROL+META<nD>,  where n  is  the
number of lines to  be deleted.  You may  omit n if only  1 line is to  be
deleted.  To delete an entire paragraph, type CONTROL+META<!D>.

To delete a page of a file, read the file with the cursor at the start  of
that page and type CONTROL+META<∂D> .


SENDING MAIL.

To send a message to another person, create a file page which contains the
message (not forgetting a [RETURN] on the last line), then, while reading that
page, type  CONTROL<X> MAIL xxx  where  xxx  is the programmer initials of the
person to whom you are sending a message.  Use a list of such initials,
separated by commas, for multiple addressees.  See file MAIL.BH[UP.DOC].

To reply to mail from programmer xxx ,add your reply to the page you are
reading, or to a new page, then send the page as above.

To retain copies of all mail you send, create a file called  OUTGO.MSG  and
copies will automatically be put there.  You may edit  OUTGO.MSG , for example
to remove old messages.

To send a one-line message to  xxx , type  
	SEND xxx message [RETURN]
or (while editing) type
	CONTROL<0X> SEND xxx message [RETURN]

To find out John Doe's programmer initials on the SAIL machine type
	FINGER JOHN DOE [RETURN].

For information from the SAIL phone directory, type  FIND string [RETURN]  to
print all the entries in the directory which contain  string , which might
be a name, phone number, etc. For information from the Computer Science
Department directory, type
	FIND string IN PEOPLE.DAT[PER,CSD] [RETURN].
In fact, FIND can be used to look for  string  in any file.

If programmer  xxx  is at another computer center (say SUMEX), type 
xxx%SUMEX  in mail commands.

PRINTING A FILE.

To make a hard (paper) copy of a file on the XGP printer, type
	XSP filename [RETURN]
A header page will give your name and other identifying information.
For double spacing, type /EXTRA=2 after the file name.
 
To get hard copy from a Diablo terminal, log in at that terminal and type
	TYPE/PAU filename [RETURN]


TO COPY AND JOIN PARTS OF FILES.  (See above, COPYING A FILE, first.)
 
Examples:
COPY f1←f2 [RETURN]
	creates a new file  f1 , which is a copy of file  f2 .
COPY f1←f2(3:5) [RETURN]
	f1  is a copy of pages 3 through 5 of  f2 .
COPY f1←f2(2:4,16,11:14) [RETURN]
	f1  is a copy of pages 2-4, 16, and 11-14 of  f2 .
COPY f1←f2,f3,f4
	f1  is a copy of files  f2 , f3 , and  f4 , joined together.
COPY f1←f2(3:5),f3,f4(6)
	f1  is a copy of pages 3-5 of  f2 , then  f3 , then page 6 of  f4 .


TO PRINT PARTS OF FILES

The file name in a printing command,  (XSP, TYP, etc.)  may be followed by
a parenthesized list of page numbers, and only those pages will be printed.
See the examples of copying parts of files.


TO DELETE A FILE.

(Be careful with this one; be sure you have the right file name, and that 
you no longer need the file.)  Type
	DELETE filename [RETURN]



APPENDIX A.   LIST OF USEFUL EDITING OPERATIONS.

Files are broken into pages by page marks, which appear on the screen as
lines of asterisks.  Pages may be broken into messages, by lines which
begin with a @.  Pages, or messages, may be broken into paragraphs
by blank lines.  In the editing operations below, we use  n  to stand for a
number.  In some commands, the number may be omitted if it is  1 ; if so we
use  n1  to stand for the number.  In some commands, one may use  !  instead
of a number to mean the number of lines to the end (or beginning) of the
current paragraph, or  CONTROL<∂> or CONTROL<-∂> to mean the number of lines to the
end or beginning of the current message; if so, we use  nn  to stand for the number.
If both alternatives to the number are allowed, we use  nn1  to stand for
the number.  Usually,  CONTROL<∞>  can be used as the number to do something
as many times as possible.

The  CET  and  ET  commands may be modified by putting one or more of the
following modifiers, called switches, immediately after the file name to
which they apply.

/E	Open the file with the cursor at the end of the file.
	(Use this to add stuff at the end of the file.)
/nE	Open the file with the cursor at the end of page  n , where  n  is
	any number.  (Use this to add stuff at the end of a page.)
/F	Break the file into pages small enough to be shown on the screen.
/nF	Break the file into pages of at most  n  lines.
/nP	Open the file displaying page  n .  (Use this and  /nL  to get to
	a particular place in the file.)
/nL	Open the file with cursor at line  n .
/R	(Meaning READ ONLY.)  Protect the file from modification.

CURSOR OPERATIONS.

Moving cursor among pages.
CONTROL<P>	cursor to next page.
CONTROL<-P>	cursor to previous page.
CONTROL<+n1 P>	cursor forward  n1  pages.
CONTROL<-n1 P>	cursor back  n1  pages.
CONTROL<nP>	cursor to page  n .

Moving cursor within a page.
[FORM]			cursor forward to next screenful
[VT]			cursor back to previous screenful
CONTROL<nn1> [RETURN]     cursor forward  nn1  lines.
CONTROL<nn1> [BS]	cursor back  nn1  lines.
CONTROL(>) 		cursor forward  4  lines.
CONTROL(<)  		cursor back  4  lines.
CONTROL<≥>		cursor forward half a screenful (16 lines)
CONTROL<≤>		cursor back half a screenful (16 lines)
CONTROL<n1 L>		cursor to line  n1 .
CONTROL<+n1 L>		cursor forward  n1  lines.
CONTROL<∞L>		cursor to last line.
CONTROL<-n1 L>		cursor back  n1  lines.
CONTROL<n1∧>		cursor to  n1 -th line from top of window.
CONTROL<n1∨>		cursor to  n1  line up from bottom of window.
CONTROL<X> LINCNT [RETURN]	terminal tells you how many characters are in
			current line and page.

Moving cursor within a line.
CONTROL<n1 SPACE>  	cursor right  n1  places.
CONTROL<n1 BS>  	cursor left  n1  spaces.
CONTROL<TAB>  		cursor to right end.
CONTROL<RETURN>		cursor to left end.



CHARACTER OPERATIONS.

Changing characters at the cursor:  Type the new characters you want over the
old ones.

Inserting new characters at the cursor:
For a few characters, hold down META while typing the characters.
For a longer insertion,
(1)  Type  CONTROL<I> .
(2)  Type the characters you want to insert between the existing characters
     at the cursor.  No other editing operations will work, until you
(3)  Type  CONTROL<SPACE> or other cursor-moving operation.

Deleting characters at the cursor.
CONTROL<n1 D>	deletes  n1  characters starting at the cursor.
		At end of line, deletes carriage return, joining two lines.
CONTROL<K>c	deletes all characters from the cursor up to the next
		occurrence of character  c .  If  c  is [RETURN], deletes
		the rest of the line.

Cancelling changes in the current line:  <alt> .

LINE OPERATIONS.

Inserting new lines in the file.
(1)  Type  CONTROL+META<RETURN> .
(2)  Use cursor-moving operations to get to the places where you want to
     insert lines.  At each cursor location, you can type new lines which
     will be inserted between the old ones.  No other editing operations
     will work, until you
(3)  Type  CONTROL<RETURN> .

Deleting lines at the cursor.
CONTROL<nn1 META D>  deletes  nn1  lines.  (If an entire page is deleted, pages
		are renumbered.)  At end of page, deletes page mark to
		combine pages.
CONTROL<X> CANCEL [RETURN]   cancels an erroneous deletion.

Looking at different lines of the file without moving the cursor.
CONTROL<J>	look below cursor.
CONTROL<0J>	look around cursor (number zero).
CONTROL<-J>	look above cursor.
CONTROL<T>	see more at top.
CONTROL<B>	see more at bottom.



MATCHING OPERATIONS.

Finding occurrences of string  s  in a page, starting from the current line,
going down, and continuing around from the top after hitting the bottom.
(1)  If you want to find  s  only where it appears surrounded by blanks or
     punctuation (like FIND in this sentence), type  META  with the next
     CONTROL; otherwise  the editor will find  s  even if it appears as part
     of a larger word (like ROUND in this sentence).
(2)  To search the current page, type  CONTROL<F> ; otherwise, to search the
     whole file, type  CONTROL<X> F  and one blank space.
(3)  Type the string  s  you want to search for.  (Any further spaces you
     type will be taken as part of  s .)
(4)  Type  [RETURN]  to initiate the search.  (To search the directory
     instead of the body of the file, type  CONTROL<P> .)
(5)  To repeat this search as many times as desired, type  CONTROL+META<*> .

To find occurrences of string  s1  and replace each one with  s2 , use the
command for finding string  s1  (see above), but after  s1 , type  CONTROL+META<\>  .
s2.  To repeat such a substitution  n1  times, after having done it once, type
	CONTROL+META<n1\> .
To repeat it as many times as it can be, use
	CONTROL+META<∞\>
To make changes to the string that has been found or substituted by the above
commands, you may want the cursor to be left under the string ready to edit 
the line.  To do this, on a first search, type  CONTROL<RETURN> .  To repeat a
search, type  CONTROL<*> .  To repeat a substitution, type  CONTROL<n1\> .

TEXT-MOVING OPERATIONS.

Moving a part of a file page to a new place.
(1)  (A)  To move the text without leaving a copy behind, type  CONTROL<n1 A>
	  to pick up the next  n1  lines with the cursor.  Otherwise,
     (B)  To move a copy of the text, leaving the original behind, type
	  CONTROL<n1 C>  to pick up a copy of the next  n1  lines with the
	  cursor.
(2)  Use the cursor-moving operations (or matching operations) to take the
     cursor where you want the text to go.
(3)  (A)  To drop the text into the current cursor location in the file,
	  type  CONTROL<E>  (which has this meaning only if there are lines
	  attached to the cursor).  To make more copies, return to step (2).
	  Otherwise:
     (B)  To discard the attached lines, type  CONTROL+META<K> .

Writing a modified page back to disk:  CONTROL< . > .


MARKING OPERATIONS.

Marking ends of pages.
CONTROL<X> MARK [RETURN]	makes a page start at the cursor line.
CONTROL<X> DELETE [RETURN]   removes page mark at end of current page.

To put "bookmarks" on lines for later reference.
CONTROL+META<M>		marks current line.
CONTROL+META<-M>	erases mark from current line.
CONTROL<n M>		moves cursor forward to n-th mark.
CONTROL<-M>		moves cursor back one mark.

SWITCHING BETWEEN FILES.

CONTROL<ε> filename [RETURN]
	switches to reading and editing  filename .
CONTROL<λ> filename [RETURN]
	switches to (only) reading  filename .
CONTROL<?>
	switches to reading instructions for the editor.
CONTROL<H>
	switches back to previous file.
CONTROL<nε>
	switches to reading and editing the n-th file used since login,
	at line where you left it.
CONTROL<nλ>
	switches to (only) reading the n-th file used since login, at
	line where you left it.
CONTROL<∃>
	lists file names and numbers for use in the above two commands.

TEXT JUSTIFICATION.

To justify the next  n  lines, with left margin at column  L , right margin 
at column  R , and first lines of paragraphs indented to column  P :
	CONTROL<nX>JUST P, L, R [RETURN] .
If P, L ,R  are omitted, the values 1,1,74 are assumed.  If  n  is omitted, the 
entire current page is justified.  To justify n paragraphs, type
        CONTROL<n!X>JUST P, L, R [RETURN] .

To center the next  n1 lines:
	CONTROL<n1X>CENTER [RETURN] .
Related operations to left-justify lines or move them left or right, are ALIGN
and INDENT (see the "E" Manual).
APPENDIX B.  WHAT TO DO IN CASE OF TROUBLE.
 
When the terminal is typing things faster than you can read them:  type CONTROL
<BREAK>.  The terminal will stop, displaying the word HOLDING.  Type 
CONTROL<CLEAR> to restart the printing.

When you have made mistakes in controlling the editor, and it doesn't seem to
understand you:  type  CONTROL<RETURN> .  If that doesn't work, use  CONTROL<E> .

When you want to stop whatever the terminal is doing (for example, printing a
long file at you that you don't want to see):  press the [CALL] key.

When you want information about how to use a feature of the system: 
type HELP [RETURN]  for a list of such features.  Type HELP f [RETURN]  for
information about feature  f .  The available HELP features include:
	MAIL (alternate mailing technique)
	LOGIN
	LOGOUT (alias KJOB)
	DIR (directory of files)
	FIND (to find a word in a file)
	FINGER (to identify someone by name or by user ID)
	E (Documentation on the editor)
	ETEACH (Instruction on how to use the editor)
	TALK (with other current terminal users)
	YUMYUM (restaurant guide)
	UNDEL (to rescue a file you deleted)

When you want to clear garbage from the screen:  try <ESCAPE>P .  If you are
in the editor, an additional  CONTROL<V>  may be needed.  If all else fails,
get help or turn terminal off and on.



APPENDIX C.   SOME USEFUL FILES.
 
See page 2 for general information about CS department files.
PEOPLE.DAT[PER,CSD]  CSD personnel directory.
\M	Your mail file.
\B	AI Lab Bulletin Board.
\NE	News Summary.
\C	CSD Bulletin Board.
\DA	Messages of the day.
\DI	News Digest.
\F	Forwarding addresses for computer mail to departed people.
\G	Gripes about computing equipment.
\NO	Current login notices.
E.ALS[UP,DOC]  is a reference manual for the editor.  To read it while
	editing, type  CONTROL<?> .  To return to editing, type  CONTROL<H> .
MONCOM.BH[S,DOC) describes the monitor and its commands.
 
The directories [UP,DOC] and [S,DOC] contain many files of documentaion
on available programs.